package com.zwps.biz.dal.db.object;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.zwps.biz.dal.constant.TableNameConstant;
import lombok.Data;

/**
 * 测站基本属性表
 * @TableName st_stbprp_b
 */
@TableName(TableNameConstant.ST_STBPRP_B)
@Data
public class StStbprpBDO implements Serializable {
    /**
     * 测站编码
     */

    private String stcd;

    /**
     * 站类
     */

    private String sttp;

    /**
     * 测站名称
     */
    private String stnm;

    /**
     * 河流名称
     */
    private String rvnm;

    /**
     * 水系名称
     */
    private String hnnm;

    /**
     * 流域名称
     */
    private String bsnm;

    /**
     * 经度
     */
    private BigDecimal lgtd;

    /**
     * 纬度
     */
    private BigDecimal lttd;

    /**
     * 站址
     */
    private String stlc;

    /**
     * 行政区划码
     */
    private String addvcd;

    /**
     * 基面名称
     */
    private String dtmnm;

    /**
     * 基面高程
     */
    private BigDecimal dtmel;

    /**
     * 基面修正值
     */
    private BigDecimal dtpr;

    /**
     * 报汛等级
     */
    private String frgrd;

    /**
     * 建站年月
     */
    private String esstym;

    /**
     * 始报年月
     */
    private String bgfrym;

    /**
     * 隶属行业单位
     */
    private String atcunit;

    /**
     * 信息管理单位
     */
    private String admauth;

    /**
     * 交换管理单位
     */
    private String locality;

    /**
     * 测站案别
     */
    private String stbk;

    /**
     * 测站方位
     */
    private Integer stazt;

    /**
     * 至河口距离
     */
    private BigDecimal dstrvm;

    /**
     * 集水面积
     */
    private Integer drna;

    /**
     * 拼音码
     */
    private String phcd;

    /**
     * 启用标志
     */
    private String usfl;

    /**
     * 备注
     */
    private String comments;

    /**
     * 时间戳
     */
    private Date moditime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        StStbprpBDO other = (StStbprpBDO) that;
        return (this.getStcd() == null ? other.getStcd() == null : this.getStcd().equals(other.getStcd()))
            && (this.getSttp() == null ? other.getSttp() == null : this.getSttp().equals(other.getSttp()))
            && (this.getStnm() == null ? other.getStnm() == null : this.getStnm().equals(other.getStnm()))
            && (this.getRvnm() == null ? other.getRvnm() == null : this.getRvnm().equals(other.getRvnm()))
            && (this.getHnnm() == null ? other.getHnnm() == null : this.getHnnm().equals(other.getHnnm()))
            && (this.getBsnm() == null ? other.getBsnm() == null : this.getBsnm().equals(other.getBsnm()))
            && (this.getLgtd() == null ? other.getLgtd() == null : this.getLgtd().equals(other.getLgtd()))
            && (this.getLttd() == null ? other.getLttd() == null : this.getLttd().equals(other.getLttd()))
            && (this.getStlc() == null ? other.getStlc() == null : this.getStlc().equals(other.getStlc()))
            && (this.getAddvcd() == null ? other.getAddvcd() == null : this.getAddvcd().equals(other.getAddvcd()))
            && (this.getDtmnm() == null ? other.getDtmnm() == null : this.getDtmnm().equals(other.getDtmnm()))
            && (this.getDtmel() == null ? other.getDtmel() == null : this.getDtmel().equals(other.getDtmel()))
            && (this.getDtpr() == null ? other.getDtpr() == null : this.getDtpr().equals(other.getDtpr()))
            && (this.getFrgrd() == null ? other.getFrgrd() == null : this.getFrgrd().equals(other.getFrgrd()))
            && (this.getEsstym() == null ? other.getEsstym() == null : this.getEsstym().equals(other.getEsstym()))
            && (this.getBgfrym() == null ? other.getBgfrym() == null : this.getBgfrym().equals(other.getBgfrym()))
            && (this.getAtcunit() == null ? other.getAtcunit() == null : this.getAtcunit().equals(other.getAtcunit()))
            && (this.getAdmauth() == null ? other.getAdmauth() == null : this.getAdmauth().equals(other.getAdmauth()))
            && (this.getLocality() == null ? other.getLocality() == null : this.getLocality().equals(other.getLocality()))
            && (this.getStbk() == null ? other.getStbk() == null : this.getStbk().equals(other.getStbk()))
            && (this.getStazt() == null ? other.getStazt() == null : this.getStazt().equals(other.getStazt()))
            && (this.getDstrvm() == null ? other.getDstrvm() == null : this.getDstrvm().equals(other.getDstrvm()))
            && (this.getDrna() == null ? other.getDrna() == null : this.getDrna().equals(other.getDrna()))
            && (this.getPhcd() == null ? other.getPhcd() == null : this.getPhcd().equals(other.getPhcd()))
            && (this.getUsfl() == null ? other.getUsfl() == null : this.getUsfl().equals(other.getUsfl()))
            && (this.getComments() == null ? other.getComments() == null : this.getComments().equals(other.getComments()))
            && (this.getModitime() == null ? other.getModitime() == null : this.getModitime().equals(other.getModitime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getStcd() == null) ? 0 : getStcd().hashCode());
        result = prime * result + ((getSttp() == null) ? 0 : getSttp().hashCode());
        result = prime * result + ((getStnm() == null) ? 0 : getStnm().hashCode());
        result = prime * result + ((getRvnm() == null) ? 0 : getRvnm().hashCode());
        result = prime * result + ((getHnnm() == null) ? 0 : getHnnm().hashCode());
        result = prime * result + ((getBsnm() == null) ? 0 : getBsnm().hashCode());
        result = prime * result + ((getLgtd() == null) ? 0 : getLgtd().hashCode());
        result = prime * result + ((getLttd() == null) ? 0 : getLttd().hashCode());
        result = prime * result + ((getStlc() == null) ? 0 : getStlc().hashCode());
        result = prime * result + ((getAddvcd() == null) ? 0 : getAddvcd().hashCode());
        result = prime * result + ((getDtmnm() == null) ? 0 : getDtmnm().hashCode());
        result = prime * result + ((getDtmel() == null) ? 0 : getDtmel().hashCode());
        result = prime * result + ((getDtpr() == null) ? 0 : getDtpr().hashCode());
        result = prime * result + ((getFrgrd() == null) ? 0 : getFrgrd().hashCode());
        result = prime * result + ((getEsstym() == null) ? 0 : getEsstym().hashCode());
        result = prime * result + ((getBgfrym() == null) ? 0 : getBgfrym().hashCode());
        result = prime * result + ((getAtcunit() == null) ? 0 : getAtcunit().hashCode());
        result = prime * result + ((getAdmauth() == null) ? 0 : getAdmauth().hashCode());
        result = prime * result + ((getLocality() == null) ? 0 : getLocality().hashCode());
        result = prime * result + ((getStbk() == null) ? 0 : getStbk().hashCode());
        result = prime * result + ((getStazt() == null) ? 0 : getStazt().hashCode());
        result = prime * result + ((getDstrvm() == null) ? 0 : getDstrvm().hashCode());
        result = prime * result + ((getDrna() == null) ? 0 : getDrna().hashCode());
        result = prime * result + ((getPhcd() == null) ? 0 : getPhcd().hashCode());
        result = prime * result + ((getUsfl() == null) ? 0 : getUsfl().hashCode());
        result = prime * result + ((getComments() == null) ? 0 : getComments().hashCode());
        result = prime * result + ((getModitime() == null) ? 0 : getModitime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", stcd=").append(stcd);
        sb.append(", sttp=").append(sttp);
        sb.append(", stnm=").append(stnm);
        sb.append(", rvnm=").append(rvnm);
        sb.append(", hnnm=").append(hnnm);
        sb.append(", bsnm=").append(bsnm);
        sb.append(", lgtd=").append(lgtd);
        sb.append(", lttd=").append(lttd);
        sb.append(", stlc=").append(stlc);
        sb.append(", addvcd=").append(addvcd);
        sb.append(", dtmnm=").append(dtmnm);
        sb.append(", dtmel=").append(dtmel);
        sb.append(", dtpr=").append(dtpr);
        sb.append(", frgrd=").append(frgrd);
        sb.append(", esstym=").append(esstym);
        sb.append(", bgfrym=").append(bgfrym);
        sb.append(", atcunit=").append(atcunit);
        sb.append(", admauth=").append(admauth);
        sb.append(", locality=").append(locality);
        sb.append(", stbk=").append(stbk);
        sb.append(", stazt=").append(stazt);
        sb.append(", dstrvm=").append(dstrvm);
        sb.append(", drna=").append(drna);
        sb.append(", phcd=").append(phcd);
        sb.append(", usfl=").append(usfl);
        sb.append(", comments=").append(comments);
        sb.append(", moditime=").append(moditime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}